کد ساز اینترنتی

ساخت وبلاگ

آموزش رفع خطای Too Many Redirects در وردپرس

اگر وبسایتتان از دسترسی خارج شده و مرورگرتان خطایی با مضمونی مشابه Too Many Redirects یا Redirect Loop را به شما نمایش میدهد، آموزش امروز مسترکد میتواند به شما در پیدا کردن دلیل این مشکل و رفع آن کمک کند. در ادامه به شرح این مشکل و دلایل اتفاق افتادن آن خواهیم پرداخت و سپس به همراه هم روش های رفع آن را بررسی میکنیم.

آنچه خطای Too Many Redirects یا Redirect Loop بیان میکند این است که وبسایت شما در یک حلقه ی ریدایرکت گیر کرده و دائما از آدرس A به B و برعکس هدایت میشود. این خطا دارای کد ارور 310 است ولی گاها ممکن است به شکل خطای 404 هم خودش را نشان بدهد. در واقع مشکلی که اتفاق افتاده این است که سایت شما آنقدر از آدرسی به آدرس دیگر هدایت میشود که مرورگر اصلا نمیداند چه چیزی را باید به نمایش بگذارد و اینجاست که این خطا اتفاق می افتد. روش رفع این مشکل معمولا ساده بوده و از وجود یک تنظیم اشتباه در سایت شما خبر میدهد که با بررسی چند بخش در وردپرس به سادگی میتوان آن را برطرف کرد. در ادامه به شرح دلایل این مشکل و نحوه ی رفع هر یک خواهیم پرداخت.

پیش از انجام هر کار دیگری …
لطفا قبل از اینکه هر اقدامی انجام بدهید، به این نکته توجه داشته باشید که مشکلی که برایتان پیش آمده ممکن است به سادگی با خالی کردن کش مرورگر و پاک کردن کوکی های آن برطرف شود. بنابراین حتما کش و کوکی های مرورگر را پاک کرده و سپس چند بار صفحه را ریفرش کنید. حل این مشکل ممکن است دقیقا به همین سادگی باشد.

آموزش پاک کردن کش مرورگر ها را در اینجا بخوانید

پاک کردن کش و کوکی های مرور ممکن است مشکل شما را برطرف کند ولی حتما قبول دارید که تکرار این کار در هر نوبت بازدید از سایتتان، بسیار خسته کننده و کمی هم مسخره خواهد بود! از طرفی هم نمیتوانید از بازدیدکنندگانتان انتظار انجام چنین کاری را داشته باشید. پس بهتر است کاری کنیم که در هر باز بازدید از سایت، کوکی های مربوط به سایت شما از مرورگر به طور اتوماتیک پاک شوند تا چنین مشکلی در بارگذاری سایت پی نیاید. برای انجام این کار کافی است که کد زیر را به فایل wp-config.php سایتتان اضافه کنید :

کد فوق را در بالای خط happy blogging قرار داده و تغییرات را ذخیره کنید. از این پس دیگر نیازی نیست برای پاک کردن کوکی های سایتتان از مرورگر، دست به کارهای سخت بزنید …

و اما برخی دلایل دیگری که ممکن است به گیر افتادن در حلقه ی ریدایرکت منجر شوند، به شرح زیر هستند :

  • ممکن است نشانی وردپرس (URL) و نشانی سایت (URL) در تنظیمات سایتتان اشتباه باشند
  • افزونه ای با اعمال تنظیمات نامناسب منجر به اتفاق افتادن ریدایرکت های پی در پی در سایت شده باشد
  • اشتباهی در دستورات فایل .htaccess وجود داشته باشد
  • تغییر آدرس دهی وردپرس شبکه از زیر فولدر به زیر دامنه منجر به ایجاد مشکل شده باشد

در ادامه موارد فوق را به طور کامل بررسی میکنیم.

اصلاح نشانی وردپرس و نشانی سایت در بخش تنظیمات
در بخش تنظیمات وردپرس در زیر منوی همگانی دو آپشن وجود دارد با عنوان نشانی وردپرس (URL) و نشانی سایت (URL). این آدرس ها همان آدرسی هستند که کاربران سایت شما برای مشاهده ی سایتتان آن را در مرورگر تایپ کرده و به سایت شما دسترسی پیدا میکنند. به هر دلیلی اگر این دو مقدار در بخش تنظیمات وردپرس، دقیقا یکسان نباشد، سایت شما در حلقه ی ریدایرکت گیر خواهد افتاد. بنابراین در صورتی که به ناحیه مدیریت دسترسی دارید، به این بخش مراجعه کرده و بررسی کنید که اولا هردوی این آدرس ها کاملا یکسان باشند، دوما در انتهای آنها اسلش وجود نداشته باشد و سوما در هیچ بخشی از آنها از حروف بزرگ استفاده نکرده باشید.

تنظیم نشانی وردپرس (URL) و نشانی سایت (URL) در وردپرس

همانطور که در تصویر بالا هم مشخص است، هردوی این آدرس ها با http شروع شده اند. در صورتی که سایت شما از https استفاده میکند، هردوی این آدرس ها باید با https آغاز شوند. خلاصه اینطور بگوییم که این دو آدرس نباید هیچ تفاوتی با هم داشته باشند.

اگر از شبکه ی وردپرس استفاده میکنید و یا به ناحیه مدیریت وردپرس دسترسی ندارید تا بتوانید آدرس های فوق را بررسی کرده و اصلاح کنید، میتوانید در هاست خود فایل wp-config.php را جهت ویرایش باز کرده و کد زیر را در آن قرار دهید :

کد فوق باید پیش از خط /* That’s all, stop editing! Happy blogging. */ قرار بگیرد و همچنین در کد بالا باید آدرس صحیح سایت خود را نیز قرار بدهید. (اگر این کد از قبل در این فایل موجود است، اطلاعات آن را با اطلاعات صحیح آدرس سایت خود جایگزین کنید و باز هم فراموش نکنید که هر دو آدرس دقیقا یکسان باشند)

خوب، حالا اگر مشکل از اینجا ناشی شده باشد، با خالی کردن کش مرورگر و یکی دو بار ریفرش باید مجددا دسترسی شما به سایتتان برقرار شود.

توجه داشته باشید که اضافه کردن این دو خط به فایل wp-config.php باعث میشود که دیگر نتوانید از طریق داشبورد وردپرس این دو تنظیم را تغییر دهید.

ریدایرکت از طریق افزونه ها
وردپرس و اکثر پلاگین های مخصوص ریدایرکت، برای اعمال ریدایرکت از تابع wp_redirect() استفاده کرده و با استفاده از آن ریدایرکت های 301 ایجاد میکنند. وردپرس به تنها به هیچ عنوان به شما اجازه نمیدهد که لینک های تکراری در آن ایجاد کنید. اما اگر فرضا نوشته ای را با استفاده از افزونه از قبل به آدرس دیگری هدایت کرده باشید و بعدا بخواهید مجددا با همان آدرس، محتوای دیگری در وردپرس ایجاد کنید، با توجه به اینکه در اینجا یک آدرس به دو مسیر اشاره میکند، این امر میتواند باعث سردرگمی مرورگر شده و موجب عدم بارگذاری محتوا شود. در اینجا اگر میدانید که چه افزونه ای بر روی سایتتان مسئول این کار است که به سادگی میتوانید آن را غیر فعال کنید اما در غیر این صورت لازم است که ابتدا همه ی افزونه های سایت را غیر فعال کرده و پس از برطرف شدن مشکل سایت، آنها را یکی یکی مجددا فعال کنید تا ببینید که مشکل از کدام یک از آنها ناشی شده بوده است.

آموزش غیر فعال کردن افزونه ها بدون دسترسی به مدیریت را در اینجا بخوانید

تغییر حالت وردپرس شبکه
فرض میکنیم که شما تنظیمات مالتی سایت خود را از حالت زیر دامنه به حالت زیر فولدر تغییر داده باشید. مثلا فرض کنید یک بلاگ تحت شبکه با آدرس blog.domain.com داشته باشید. پس از تغییر تنظیمات شبکه از حالت زیر دامنه به زیر فولدر، آدرس این سایت به شکل domain.com/blog خواهد شد. حالا چه مشکلی پیش می آید؟ فرض کنیم شما از قبل یک بلاگ در آدرس domain.com/blog بر روی وردپرس خود راه اندازی کرده بودید یا مثلا محتوایی با همین آدرس داشتید، حالا هم یک سایت تحت شبکه و هم محتوایی با این ادرس دارید. وقتی مرورگر بخواهد این آدرس را مورد دسترسی قرار دهد، نمیتواند تشخیص بدهد که باید بلاگ شما را بارگذاری کند و یا اینکه محتوای تحت شبکه را به شما نمایش دهد و دقیقا همینجاست که باز هم یا در Redirect Loop به دام می افتید و یا اینکه به خطای 404 برخورد میکنید. اینجا طبعا چند راه پیش رو دارید. اول اینکه تنظیمات شبکه را به حالت قبل برگردانید. دوم اینکه بلاگ همنام را از شبکه حذف کنید و سوم اینکه صفحه یا بخشی که نام تکراری دارد را از وردپرستان حذف کنید. تصمیم با شماست.

اصلاح فایل htaccess
گاهی ممکن است پس از ویرایش فایل htaccess دسترسی شما به سایتتان قطع شده باشد و با خطای Too Many Redirects مواجه شوید. در این حالت اگر میدانید که چه تنظیمات جدیدی روی این فایل اعمال کرده اید، میتوانید به سادگی این تغییرات را به حالت قبل بازگردانید.
در هاست خود به فایل htaccess تان سری بزنید و ببینید که آیا میتوانید در آن ریدایرکت های تکراری و اشتباه پیدا کنید؟ این مسئله میتواند دلیل بوجود آمدن مشکل شما باشد.
اگر مطمئن نیستید که چگونه باید دلیل مشکل را پیدا کنید و کدام بخش ها را لازم است از این فایل حذف کنید، میتوانید محتوای این فایل را به حالت پیشفرض وردپرس بازگردانی کنید.
برای بازگردانی فایل htaccess به حالت پیشفرض، ابتدا این فایل را دانلود کرده و در محل امنی روی کامپیوتر خود ذخیره کنید تا از آن یک بکاپ مطمئن داشته باشید. سپس فایل را اصلی را جهت ویرایش باز کرده و با مراجعه به سایت رسمی وردپرس، کد پیشفرض مرتبط با سایت خود را برای فایل htaccess انتخاب کرده و در آن قرار دهید.

مشاهده راهنمای محتوای پیشفرض فایل htaccess در سایت رسمی وردپرس

حالا چند بار صفحه ی وبسایت خود را ریفرش کنید تا از برطرف شدن مشکل اطمینان حاصل کنید. اگر مشکل برطرف شده بود، میتوانید دستورات ضروری این فایل را رفته رفته به آن بازگردانید تا منشا مشکل را پیدا کنید.

و در پایان …
همانطور که در ابتدا هم به آن اشاره کردیم و در طول این آموزش هم مشخص شد، عیب یابی خطای حلقه ی ریدایرکت عملا بسیار آسان است و این مشکل عموما از اشتباهات ساده ی خودمان سرچشمه میگیرد. در واقع فقط کافی است کمی تمرکز کنید تا بتوانید طی چند دقیقه منشا مشکل را پیدا کرده و بر اساس راهنمای بالا آن را برطرف کنید.

امیدواریم که این آموزش توانسته باشد مشکل وبسایت شما را برطرف کند.

کد ساز اینترنتی...
ما را در سایت کد ساز اینترنتی دنبال می کنید

برچسب : نویسنده : استخدام کار coder بازدید : 226 تاريخ : چهارشنبه 19 خرداد 1395 ساعت: 17:11

راهنمای جامع فایل robots.txt

حتما تا امروز از اینجا و آنجا دست کم یک بار نام فایل robots.txt به گوشتان خورده. اگر نام این فایل را شنیده اید ولی دقیقا نمیدانید که این فایل چیست و چه کاربرد هایی دارد و یا اگر به طور کلی با ماهیت این فایل آشنا هستید و میخواهید یک قدم فراتر گذاشته و به کلیه ی جوانب استفاده از آن مسلط شوید، این مقاله مخصوص شماست. از شما دعوت میکنیم که در ادامه ی این مطلب با مسترکد همراه شوید.

فایل robots.txt چیست و چه کاربردی دارد؟
robots.txt همانطور که از نامش هم مشخص است، یک فایل متنی مخصوص ربات موتور های جستجو است که از ساختار تعریف شده ی خاصی استفاده میکند. به این فایل گاهی با عنوان پروتکل عدم شمول ربات ها یا Robots Exclusion Protocol هم اشاره میشود. اما در واقع محتوای این فایل دارای استاندارد رسمی که از طرف سازمانی رسمی تعیین شده باشد نیست و تنها از سینتکسی پیروی میکند که از دیرباز بین نسخه های قدیمی موتور های جستجو مورد توافق بوده است.

موتور های جستجو با خزیدن در میان صفحات سایت شما، آن را ایندکس میکنند و با دنبال کردن لینک ها از سایتی به سایت دیگر میروند. هرگاه یک خزنده ی موتور جستجو وارد دامنه ای که قبلا با آن مواجه نشده میشود، ابتدا فایل robots.txt آن سایت را فراخوانی میکند تا بداند که مجاز است به کدام بخش های سایت سرک کشیده و محتوای موجود را ایندکس کند. فایل robots.txt معمولا توسط موتور های جستجو کش میشود ولی به هر حال در صورتی که در محتوای این فایل تغییری ایجاد کنید، با توجه به ریفرش شدن این فایل توسط موتور های جستجو در طول روز، دستورات جدید شما توسط موتور های جستجو دنبال خواهند شد.

توجه داشته باشید که قرار دادن دستورات نامناسب در این فایل، و منع کردن ربات ها از دسترسی به قسمت های ضروری سایت، میتواند ضربه ی شدیدی به سئوی سایت شما وارد کند. بنابراین در زمان ویرایش این فایل و افزودن دستورات جدید، حتما نهایت توجه را به کار بگیرید و بدون اینکه از کار خود مطمئن باشید، دست به اعمال تغییر در این فایل نزنید.

شاید برایتان جالب باشد که بدانید در مقابل فایل robots.txt فایلی با نام humans.txt هم وجود دارد. با کلیک بر روی اینجا میتوانید اطلاعات بیشتری در رابطه با این فایل کسب کنید.

فایل robots.txt را در چه محلی باید قرار داد؟
فایل robots.txt باید همیشه در روت سایت شما قرار بگیرد به نحوی که فرضا اگر آدرس سایت شما http://domain.com باشد، بتوان این فایل را از آدرس http://domain.com/robots.txt مورد دسترسی قرار داد. توجه داشته باشید که حتی وقتی که یک خزنده ی موتور جستجو میخواهد یک زیر فولدر از یک دامنه را نگاه کند، باز هم فایل robots.txt را از ریشه ی سایت فراخوانی خواهد کرد. مثلا وقتی موتور جستجو در حال مشاهده ی http://domain.com/example باشد، فایل robots.txt با آدرس http://domain.com/robots.txt فراخوانی خواهد شد.
نکته ی حائز اهمیت این است که اگر سایت شما هم بدون www و هم با www و یا هم با http و هم با https قابل دسترسی باشد، باید توجه کنید که در تمامی این حالت فایل robots.txt شما باید میان تمامی این آدرس ها کاملا یکسان باشد، در غیر این صورت ربات های موتور جستجو در خزیدن سایت شما سردرگم خواهند شد.

مزایای استفاده از فایل robots.txt
یک نکته ی جالب وجود دارد که شاید تا امروز اطلاعی از آن نداشتید، (شاید هم داشتید!) گوگل (یا به طور کلی موتور های جستجو) مقدار زمان مشخصی را صرف خزیدن در یک وبسایت میکنند و در هر بار بازدید تعداد صفحات محدودی را میخزند. این مقدار زمان و صفحه برای هر وبسایت کاملا متفاوت بوده و بر اساس فاکتور های خاصی مثل پیج رنک و … آن سایت تعیین میشود. به این مقدار Crawl Budget میگوییم. خوب، با کمی محاسبه ی دو دو تا چهارتایی متوجه میشوید که وقتی در سایت شما بی نهایت محل برای خزیده شدن وجود داشته باشد، بسیاری از محتوای ارزشمند شما ممکن است شانس دیده شده توسط موتور جستجو را از دست بدهند. پس چاره چیست؟ وقتی شما محل هایی که نباید توجه موتور های جستجو مورد دسترسی قرار بگیرند را از لیست بخش های قابل ایندکس شدن سایتتان حذف میکنید، به بخش های ارزشمند سایتتان شانس خزیده شدن و مورد توجه قرار گرفتن را میدهید.

سایت هایی که در آدرس آنها تعداد زیادی متغیز با مقادیر ممکن بالا وجود دارد، باید حتما به این نکته توجه کنند که ترکیب این متغیر ها و مقادیر ممکن آنها ممکن است به ایجاد 100 ها یا گاها هزاران آدرس مختلف قابل ایندکس کردن بیانجامد. حتما سریعا میتوانید حدس بزنید که چنین اتفاقی میتواند سریعا Crawl Budget سایت شما را به اتمام برساند. برای جلوگیری از این اتفاق، کافی است ربات های موتور جستجو را از خزیدن این آدرس ها که دارای پارامتر هستند منع کنید، تا آنها تنها به آدرس اصلی که مد نظر شماست توجه کنند. با قرار دادن کد زیر در فایل robots.txt میتوانید کلیه ی ربات ها را از دنبال کردن آدرس های دارای پارامتر در سایت خود منع کنید :

معایب استفاده از فایل robots.txt
یکی از معایب فایل robots.txt این است که گرچه توسط این فایل میتوانید به ربات موتور جستجو بگویید که به محلی در سایت شما مراجعه نکند ولی نمیتوانید به آن بگویید که آدرس بخش مورد نظر را در لیست نتایج جستجو نمایان نکند. یعنی فرضا ممکن است شما آدرس یک پوشه را توسط robots.txt بلاک کرده باشید، ولی آدرس این پوشه ممکن است در زمان جستجو، در میان نتایج جستجو به چشم بخورد. در چنین حالتی اگر قصد شما این است که واقعا آدرس مورد نظر در نتایج جستجو هم پدیدار نشود باید بجای استفاده از فایل robots.txt از متا تگ noindex استفاده کنید. نکته ی مهم این است که برای دیده شدن متا تگ noindex توسط موتور های جستجو، خزنده ی موتور جستجو باید قادر به دیدن صفحه ی مورد نظر باشد. پس دسترسی به صفحه ای که دارای متا تگ noindex است را نباید از طریق فایل robots.txt برای ربات مورد نظر غیر مجاز کنید. در غیر این صورت تگ noindex کاملا بی کاربرد و بی فایده خواهد بود.

نقطه ی ضعف دیگر استفاده از فایل robots.txt برای جلوگیری از دسترسی ربات ها به بخش خاصی از سایت این است که وقتی خزنده ی موتور جستجو مجاز به مشاهده ی صفحه ای از سایت نباشد، بنابراین نمیتواند لینک های موجود در آن صفحه را نیز دنبال کرده و به آنها ارزش اختصاص دهد. اگر موتور جستجو مجاز بود که صفحه را مشاهده کرده و لینک ها را دنبال کند ولی صفحه را ایندکس نکند، آنوقت همه چیز حل میشد. ( در چنین مواقعی میتوانیم از تگ noindex follow استفاده کنیم)

ساختار و سینتکس فایل robots.txt
فایل robots.txt از یک یا چند بلاک حاوی دستورات مشخص تشکیل میشود. هر بلاک با خطی که مشخص کننده ی User-agent یا همان نام ربات جستجوگر مورد نظر است شروع میشود. با استفاده از مقدار user-agent میتوانید ربات خاصی را هدف گرفته یا به طور کلی، دستوری را خطاب به همه ی آنها در این فایل درج کنید. به عنوان مثال بلاک ها و دستوراتی که از آنها حرف زدیم میتوانند شکل ساده ی زیر را داشته باشند :

توجه داشته باشید که در دستورات بالا تفاوتی ندارد که عبارت Allow یا Disallow را با حروف کوچک مینویسید یا بزرگ. اما در نام دایرکتوری ها باید حتما حروف بزرگ و کوچک را رعایت کنید چرا که مثلا از دید ربات های جستجوگر، آدرس /photo/ با /Photo/ متفاوت خواهد بود.

در ادامه به شرح دستورات استفاده شده در کد بالا خواهیم پرداخت.

User-agent : اولین دستور در هر بلاک از دستورات فایل robots.txt همین User-agent است. این دستور مشخص میکند که آنچه در بلاک مربوطه درج شده، مربوط به کدام یک از ربات های موتور جستجوست. در مورد خطاب قرار دادن خزنده های موتور جستجو باید این نکته را مد نظر داشته باشید که هر موتور جستجو بجز خزنده ی اصلی اش که عمومیت بیشتری دارد، ممکن است خزنده های متعددی داشته باشه. مثلا خزنده ی مخصوص تصاویر، خزنده ی مخصوص اخبار، خزنده ی موبایل و … بنابراین بر اساس نیاز خود میتوانید نام هر یک از آنها را که مد نظر شماست مورد خطاب قرار دهید. مثلا در زیر user-agent خزنده ی عمومی گوگل را برایتان درج کرده ایم :

حال وقتی میخواهیم این خزنده را در فایل robots.txt مورد خطاب قرار دهیم، تنها درج عبارت User-agent: Googlebot کفایت خواهد کرد.

در صورتی که در فایل robots.txt دستوراتی را درج کرده باشید که چند بلاک مختلف آنها برای یک خزنده صادق باشد، خزنده ی موتور جستجو همیشه دستوری را که به طور واضح تر به آن خزنده ی خاص اشاره میکند انتخاب کرده و دستورات همان بخش را اجرا خواهد کرد. مثلا فرض کنید در فایل robots.txt خود یک بلاک مخصوص *، یک بلاک مخصوص Googlebot و یک بلاک مخصوص Googlebot-news درج کرده باشید. در این حالت اگر خزنده ی Googlebot-Video وارد سایت شما شود، در میان این دستورات از دستورات مخصوص Googlebot پیروی خواهد کرد و اگر خزنده ی Googlebot-news وارد سایتتان شود، از دستورات درج شده در بلاک مربوط به Googlebot-news تبعیت خواهد نمود.

در تصویر زیر تعدادی از عمومی ترین و شناخته شده ترین user-agent های موتور های جستجو را که میتوانید در فایل robots.txt مورد استفاده قرار دهید، برای شما درج کرده ایم :

لیست user-agent های موتور های جستجو

Disallow : آنچه در جلوی این عبارت درج میشود نشان میدهد که ربات مورد نظر شما مجاز نیست به بخشی که در این قسمت درج شده دسترسی پیدا کند. شما میتوانید چندین خط از این دستور در ادامه ی هم در فایل robots.txt خود داشته باشید و در هر خط دسترسی به بخش خاصی را منع کنید. خالی بودن جلوی این عبارت نشان میدهد که دسترسی به تمامی بخش های شما مجاز است. به مثال های زیر توجه کنید :

کد بالا میگوید که هیچ یک از موتور های جستجو مجاز به خزیدن در هیچ یک از بخش های سایت شما نیستند. (البته همیشه مد نظر داشته باشید که user-agent ها مجبور نیستند به این فایل اهمیت بدهند و این فایل تنها توسط موتور های جستجویی که به این قوانین احترام بگذارند، مورد توجه قرار میگیرد)

کد بالا میگوید که دسترسی به کلیه ی بخش های سایت شما برای تمامی موتور های جستجو مجاز است.

و اما کد بالا اینطور میگوید که گوگل بات مجاز نیست وارد پوشه ی Photo در سایت شما شود. (مجاز نیست محتوای آن را crawl کرده یا در آن بخزد!) توجه داشته باشید که این امر شامل تمامی زیر پوشه های فولدر Photo نیز میشود.

استفاده از وایلدکارد و عبارات منظم (Regular Expression) در robots.txt
گرچه عبارت منظم و وایلدکارد ها به صورت رسمی در فایل robots.txt پشتیبانی نمیشوند ولی اکثر موتور های جستوی بزرگ، این عبارات را در این فایل به خوبی خوانده و اجرا میکنند. بنابراین با استفاده از این عبارات شما به سادگی میتوانید گروهی از فایل های خاص را بلاک کنید. به کد زیر توجه کنید :

با استفاده از دستور بالا اعلام کرده ایم که crawl کردن فایل های دارای پسوند php و کلیه ی تصاویر دارای فرمت jpg که در فولدر copyrighted-images قرار گرفته باشند، غیر مجاز است.

Allow : دستور Allow جزو دستورات غیر رسمی / غیر استاندارد فایل robots.txt است اما به هر حال توسط اکثر موتور های جستجو قابل شناسایی است. کارکرد این دستور از عنوان آن مشخص است. این دستور به خزنده ی مربوطه میگوید که میتواند در محل خاصی از سایت بخزد. مثلا فرض کنید که میخواهیم دسترسی به فولدر wp-admin را ممنوع کنیم ولی دسترسی به فایل admin-ajax.php که درون این فولدر قرار گرفته، کماکان برای خزنده های موتور های جستجو مجاز باشد. در این شرایط از دستور زیر استفاده میکنیم :

برخی از دستورات کمتر شناخته شده که در این فایل قابل استفاده هستند عبارتند از noindex, host, crawl-delay و sitemap. از آنجایی که این دستورات توسط همه ی موتور های جستجو قابل شناسایی نیستند و همچنین برای آنها جایگزین های بسیار مفید تر و کاربردی تری نیز وجود دارد، بنابراین در این مقاله به شرح این دستورات نخواهیم پرداخت. (تمامی این موارد از طریق کنترل پنل های ارائه شده توسط موتور های جستجو (مانند گوگل وبمسترز) و یا در سطح خود سایت قابل اجرا هستند و نیازی به اعمال آنها از طریق فایل robots.txt نیست.)

تست و اعتبارسنجی فایل robots.txt
بعد از اعمال تنظیمات دلخواه، این مسئله بسیار حائز اهمیت است که حتما فایل robots.txt سایت خود را تست کنید. وجود مشکل در این فایل میتواند به فراموشی ابدی سایت شما توسط موتور های جستجو منجر شود. بنابراین این مسئله را اصلا شوخی نگیرید. برای انجام این کار ابزارهای گوناگونی وجود دارد ولی مسترکد برای تست فایل robots.txt خود از گوگل وبمسترز کمک میگیرد. برای استفاده از ابزار تست robots.txt کافی است وارد پنل خود در گوگل وبمسترز شوید و سپس از منوی Crawl به زیر منوی robots.txt Tester مراجعه کنید. در این بخش میتوانید فایل مورد نظر را برای دسترسی انواع خزنده های گوگل تست کرده و اطمینان حاصل کنید که همه چیز مرتب است و سپس نفس راحتی بکشید …

امیدواریم که پاسخ سوال های خود را در این مقاله یافته باشید.

کد ساز اینترنتی...
ما را در سایت کد ساز اینترنتی دنبال می کنید

برچسب : نویسنده : استخدام کار coder بازدید : 238 تاريخ : سه شنبه 18 خرداد 1395 ساعت: 19:40

عیب یابی و رفع خطا در برقراری ارتباط با پایگاه داده در وردپرس

در آموزش امروز خواهید آموخت که چگونه میتوانید خطای برقراری ارتباط با پایگاه داده را در وردپرس عیب یابی کرده و آن را برطرف کنید. بنابراین اگر سایت شما از دسترس خارج شده و با خطا در برقراری ارتباط با پایگاه داده یا Error establishing a Database connection مواجه هستید، در واقع ممکن است خیلی هم جای نگرانی نباشد! با دنبال کردن این آموزش خواهید توانت منشا این مشکل را یافته و نسبت به رفع آن اقدام نمایید.

خطا در اتصال به دیتابیس مشخصا به این معناست که سایت شما (فایل های php وردپرس شما) به دیتابیس سایتتان دسترسی ندارند. بله معنای این خطا مشخص است … اما همین معنای کاملا واضح میتواند دلایل گوناگونی داشته باشد. مثلا :

  • نصب یا جابجایی وردپرس به طور کامل انجام نشده باشد
  • دیتابیس سایت به طور اتفاقی حذف شده باشد
  • اطلاعات اتصال به دیتابیس اشتباه باشد
  • مشکلی در پیشوند جداول پایگاه داده وجود داشته باشد
  • سطح دسترسی فایل های وردپرس اشتباه باشد
  • آدرس سایت صحیح نباشد
  • مشکل از پلاگین ها یا قالب ها ناشی شده باشد
  • و در آخر ممکن است مشکلی در سرور وجود داشته باشد یا سرور اورلود شده باشد

(تعجب کردید که مشکل سرور آخرین مورد بود؟ حق دارید! چون متاسفانه چیزی که در میان اکثر کاربران در ایران باب شده این است که هر مشکلی برایشان پیش می آید اول از همه میگویند حتما مشکل از طرف سرور است … لطفا شما این مدلی نباشید! لطفا!)

در ادامه به شرح مراحل عیب یابی خطا در برقراری ارتباط با پایگاه داده در وردپرس خواهیم پرداخت اما پیش از اینکه به سراغ اصل ماجرا بروید، حتما یک بکاپ کامل از سایت خود در همین حالت ایجاد کنید. به هر حال کار از محکم کاری عیب نمیکند. و یک چیز مهم تر، اگر بکاپ جدیدی از سایت خود دارید که در زمان آن بکاپ وبسایت شما بدون مشکل کار میکرده، همین حالا به سادگی میتوانید آن بکاپ را بازگردانی کرده و خیال خودتان را راحت کنید. اما اگر امکان انجام چنین کاری برایتان میسر نیست، میتوانید در ادامه ی مراحل عیب یابی با ما همراه شوید.

غیر فعال کردن پلاگین ها
اول اجازه بدهید این نکته را روشن کنیم که منظورمان این نیست که اگر هیچ پلاگین جدیدی نصب نکرده اید و پلاگینی را هم به روز رسانی نکرده اید و تغییری هم با پلاگینی روی سایتتان اعمال نکرده اید، حالا بیایید و همه پلاگین ها را غیر فعال کنید … طبعا باید تغییری در سایتتان ایجاد شده باشد که مربوط به پلاگین ها باشد تا به سراغ این مرحله بیایید. مثلا ممکن است اخیرا افزونه ی جدیدی روی سایتتان نصب کرده باشید و پس از آن مشکل برقراری ارتباط با پایگاه داده برایتان پیش آمده باشد. یا مثلا ممکن است به کمک یک افزونه ی امنیتی، پیشوند جداول یا سطح دسترسی فایلهایتان را عوض کرده باشید و همین امر موجب ایجاد مشکل در سایتتان شده باشد. از آنجایی که هر نوع تداخل بین افزونه ها و اعمال هر نوع تغییر از طرف یک افزونه بر روی دیتابیس، میتواند منجر به عدم دسترسی وردپرس به دیتابیس سایتتان شود، بنابراین در این مرحله لازم است همه ی افزونه های موجود روی سایتتان را غیر فعال نمایید. (روش غیر فعال کردن افزونه ها را با کلیک روی اینجا بخوانید) حال اگر پس از غیر فعال کردن افزونه ها، سایتتان مجددا بالا آمد، محل مشکل را پیدا کرده اید. حالا باید افزونه ها را مجددا یکی یکی فعال کنید تا ببینید کدام یک باعث این مشکل بوده و برایش چاره ای بیاندیشید. اما اگر نه، طبعا باید به سراغ مراحل بعد بروید.

باید توجه داشته باشید که اگر افزونه ای، تغییری روی دیتابیس شما اعمال کرده باشد که منجر به داون شدن سایت شده باشد، غیر فعال کردن افزونه بی اثر خواهد بود و مشکل باید پس از عیب یابی در مراحل بعد، به یکی از روش هایی که در ادامه ذکر میکنیم برطرف شود.

چک کردن اطلاعات اتصال به دیتابیس
وارد هاستتان شده و در شاخه ی اصلی سایت (معمولا در public_html) فایل wp-config.php خود را یافته و آن را باز کنید. در این فایل بخشی وجود دارد که اطلاعات اتصال به دیتابیس را در آن مشاهده میکنید. مانند کد زیر :

اطلاعات بالا را به طور کامل بررسی کنید واطمینان حاصل کنید که نام دیتابیس، نام کاربری دیتابیس و رمز عبور دیتابیس با اطلاعات بالا مطابقت داشته باشند. (برای این کار میتوانید به کنترل پنل هاست خود مراجعه کرده و مشخصات درج شده در این بخش را با آنچه در هاست خود میبینید مشاهده کنید و از همه مهم تر اطمینان حاصل کنید که دیتابیس شما در هاستتان موجود باشد)

مشاهده دیتابیس ها در سی پنل

در تصویر بالا علاوه بر اینکه از نام دیتابیس و نام کاربری آن و موجود بودنش در هاست اطمینان حاصل کرده ایم، از این نکته هم مطمئن شدیم که یوزر صحیحی را به دیتابیس نسبت داده ایم و این یوزر اجازه ی دسترسی به دیتابیس را دارد.

در اینجا چند نکته وجود دارد. هرچند رمز دیتابیس شما ممکن است به نظر شما منطقی برسد و حاوی کارکتر های غیر مجاز هم نباشد، ولی متاسفانه وجود برخی کارکتر ها در دیتابیس منجر به عدم اتصال به دیتابیس خواهد شد. بنابراین در انتخاب رمز های عجیب و غریب برای دیتابیس زیاده روی نکنید … حتی گاهی پیش می آید که رمز هایی که خود سی پنل برای دیتابیس پیشنهاد میکند هم در اینجا جواب نمیدهند و با آنها نمیتوانید به پایگاه داده متصل شوید. پس اگر رمزتان بیش از حد عجیب و غریب است، آن را یکمی جمع و جورد تر کرده و به ترکیب عدد ها، حروف کوچک و بزرگ و مثلا علامت @ بسنده کنید! (توصیه بدی بود ولی واقعیت است) برای تغییر رمز عبور دیتابیستان کافی است در هاست خود به بخش MySQL Databases مراجعه کرده و در پایین صفحه در قسمت Current Users کاربر دیتابیس خود را پیدا کرده و در جلوی آن روی لینک Change Password کلیک کرده و رمز دیتابیستان را تغییر دهید تا با اطلاعات موجود در فایل کانفیگ مطابقت داشته باشد. مانند تصویر زیر :

تغییر رمز دیتابیس در سی پنل

همچنین اختصاص همه ی دسترسی ها را به یوزری که ساخته اید فراموش نکنید. نداشتن دسترسی های کافی میتواند یکی از دلایل مشکل وبسایت شما باشد. توجه داشته باشید که در صورت نیاز میتوانید یوزری که از قبل ایجاد کرده اید را یک بار حذف کرده و مجددا آن را ایجاد کنید. فقط یادتان باشد که در این حالت باید یوزر را مجددا به دیتابیس نسبت بدهید.

از طرفی گاهی ممکن است تمام اطلاعات وارد شده در اینجا درست باشند و با این وجود که این اطلاعات مثلا همین چند ساعت پیش درست کار میکرده اند، ولی باز هم اتصال با دیتابیس برقرار نشود. در اینجا چیز عجیبی که قبلا مشاهده کرده ایم این است که گاهی ممکن است صرفا تغییر عبارت localhost به آی پی 127.0.0.1 مشکل شما را برطرف کند. به نظر میرسد دلیل این امر این باشد که در یک لحظه وردپرس به هر دلیل قادر به دسترسی به سرویس mysql نبوده و یا این سرویس داون شده است و این اطلاعات در سیستم کش شده اند. حالا صرفا اینکه وردپرس را وادار کنید روی آدرس دیگری به دیتابیس متصل شود، مشکلتان را برطرف میکند.

بعد از اطمینان از اطلاعات بالا، حالا در فایل wp-config.php به دنبال خطی مشابه زیر بگردید :

عبارت wp_ در کد بالا باید با پیشوند جداول دیتابیس شما مطابقت داشته باشد. بنابراین اگر فرضا با یک پلاگین امنیتی، پیشوند جداول را تغییر داده اید، پیشوند صحیح را در کد بالا جایگزین عبارت wp_ کرده و تغییرات را ذخیره کنید.

خوب، حالا وبسایت خود را چند بار ریفرش کنید. اگر وبسایتتان مجددا بالا آمده بود که خدا را شکر میکنیم. اما اگر نه … زمان تست اطلاعات اتصال به دیتابیس فرا میرسد. بدیهی است که ممکن است در ورود اطلاعات اشتباهی صورت گرفته باشد. برای تست اطلاعات اتصال به دیتابیس، فایلی با نام dbtest.php در مسیر اصلی سایت خود ایجاد کرده و کد زیر را در آن قرار دهید :

در کد بالا عبارات مشخصات دیتابیس را به شکل صحیح جایگزین your_hostname, database_useame و database_password کنید. سپس فایل را در مرورگر خود فراخوانی کنید. (اگر فایل را در مسیر اصلی سایت قرار داده باشید آدرس آن از الگوی روبرو پیروی میکند http://domain.com/dbtest.php) در این حالت اگر پیام Connected successfully را دریافت کردید، اطلاعات اتصال صحیح بوده و ارتباط با دیتابیس به شکل صحیح انجام شده است ولی اگر پیام Could not connect را دریافت کنید، این مسئله به این مفهوم است که اطلاعات اتصال شما اشتباه است. لازم که نیست بگوییم چه کار کنید؟ (بله! از اول همین مرحله …)

اصلاح آدرس سایت
اگر وبسایت خود را به آدرس جدیدی منتقل کرده اید و فراموش کرده اید که آدرس صحیح را در تنظیمات وردپرس جایگزین کنید و یا به هر دلیل دیگری تغییر در آدرس سایتتان ایجاد شده که منجر به عدم تطابق آدرس ذخیره شده در دیتابیس و آدرسی که از روی آن در حال فراخوانی سایت هستید، شده باشد، همین مسئله میتواند دلیل بوجود آمدن خطای برقراری ارتباط با پایگاه داده باشد.

برای رفع این مشکل ابتدا به فایل wp-config.php در هاست خود مراجعه کنید. در این فایل به دنبال خطوط زیر بگردید :

اگر این خطوط را پیدا کردید، اطمینان حاصل کنید که آدرس درج شده در بخش http://your-site.com دقیقا مطابق با آدرس سایت شما باشد. اما اگر این دو خط را پیدا نکردید، خودتان آنها را به فایل wp-config.php اضافه کرده و آدرس صحیح سایتتان را در آن قرار داده و تغییرات را ذخیره کنید. مجددا وبسایت خود را مورد بررسی قرار دهید تا ببینید که آیا مشکل برطرف شده یا خیر. اگر مشکل همچنان پا برجا بود، خطوط درج شده را حذف کنید و عیب یابی را ادامه دهید.

حالا به سراغ فولدر wp-includes در هاستتان بروید و فایل functions.php را در آن بیابید. بررسی کنید و ببینید که آیا دو خط زیر را در آن پیدا میکنید یا خیر :

اگر این دو خط در فایل ذکر شده موجود هستند، آدرس درج شده در آنها را با آدرس صحیح سایت خود جایگزین کنید و اگر این دو خط وجود ندارند، خودتان آنها را با آدرس های صحیح به ابتدای فایل دقیقا بعد از <?php بیافزایید و تغییرات را ذخیره کنید. وبسایت و ناحیه مدیریت آن را باز کرده و چند باری صفحه را ریفرش کنید. فراموش نکنید که بعد از انجام این کار و تست کردن اینکه وبسایتتان بالا می آید یا خیر، حتما مجددا این کد ها را از فایل ذکر شده حذف کنید. این دو خط کد نباید در فایل functions.php باقی بمانند.

در وارد کردن آدرس ها به این نکته توجه داشته باشید که اینکه آدرس را با www یا بدون www و همچنین با http یا با https وارد میکنید، کاملا حائز اهمیت است و هر نوع اشتباه در ورود آدرس میتواند منجر به عدم بارگذراری و عدم رفع مشکل وبسایت شما شود.

اصلاح دسترسی ها یا جایگزین کردن فایل های آسیب دیده
اگر تا اینجای کار مشکلتان هنوز برطرف نشده، میتوانیم فرض کنیم که ممکن است مشکلی در رابطه با فایل های هسته ی وردپرستان وجود داشته باشد. در اینجا نمیخواهیم زیاد وارد پیچیدگی دسترسی ها و توضیح دقیق آنها بشویم. به این نکته بسنده میکنیم که میتوانید هاستتان را بررسی کرده و اطمینان حاصل کنید که سطح دسترسی فایل های وردپرستان معادل 644 و سطح دسترسی فولدرهایتان نیز معادل 755 باشد. (معمولا این سطح دسترسی صحیح خواهد بود، ولی گاها ممکن است بر اساس محیط میزبانی دسترسی فولدر ها متفاوت باشد) اگر همه چیز مرتب است و باز هم مشکل پا برجاست، میتوانید به سادگی یک نسخه از وردپرس را مجددا دانلود کرده و فایل های هسته ی وردپرس را با نسخه ای که اخیرا دانلود کرده اید جایگزین کنید. برای انجام این کار، یک نسخه وردپرس خام (هماهنگ با نسخه فعلیتان) دانلود کنید، آن را بر روی کامپیوتر خود از حالت فشرده خارج کرده و فولدر wp-content و فایل wp-config-sample.php را از آن حذف نمایید و سپس فایل های اصلی وردپرس را به هاست وبسایتتان منتقل کنید. توجه داشته باشید که فولدر wp-content و فایل wp-config.php به هیچ عنوان نباید بازنویسی شده و از دست بروند. انجام این کار میتواند منجر به از دست دادن اطلاعات سایت شما شود. بنابراین این کار را با دقت انجام بدهید.

تعمیر یا Repair کردن دیتابیس وردپرس
خوب، حالا میرسیم به تعمیر دیتابیس. پس از انجام تمامی مراحل بالا، باز هم وبسایتتان به درستی کار نمیکند؟ احتمالا دیتابیس شما نیازمند تعمیرات جزئی است! این مسئله خصوصا در زمانی که فقط به ناحیه مدیریت یا فقط به ناحیه کاربری سایتتان دسترسی داشته باشید (ولی نه به هردو) کاملا محتمل است. برای انجام این کار ابتدا فایل wp-config.php خود را برای ویرایش باز کنید و سپس کد زیر را در آن قرار دهید :

سپس تغییرات را ذخیره کنید و به آدرس زیر در سایتتان مراجعه کنید :

طبعا نیازی به گفتن نیست ولی عبارت http://your-site.com را باید با آدرس صحیح سایتتان جایگزین کنید. پس بارگذاری این آدرس با صفحه ای مشابه تصویر زیر روبرو میشوید :

تعمیر یا Repair کردن دیتابیس وردپرس

در صفحه ی فوق روی دکمه ی تعمیر پایگاه داده کلیک کنید تا عملیات تعمیر آغاز شود. پس از اتمام کار فراموش نکنید که بلافاصله کدی که به فایل wp-config.php اضافه کرده بودید را حذف کنید. عدم حذف این کد میتواند منجر به بروز مشکلات امنیتی برای سایت شما شود.

حالا مجددا به سایتتان مراجعه کنید و ببینید که اوضاع از چه قرار است … امیدواریم که مشکل سایتتان برطرف شده باشد اما اگر هنوز مشکل باقی است، فقط راه بعدی را پیش رو دارید …

با پشتیبان هاستتان ارتباط برقرار کنید
خواهشا همیشه در برقراری ارتباط با پشتیبانی این نکته را در نظر بگیرید که طلبکار بودن و اعلام اینکه 100 درصد مشکل از هاست است، چیزی را حل نخواهد کرد. ممکن است واقعا اینطور نباشد و چیزی را از قلم انداخته باشید یا مرحله ای را به شکل صحیح انجام نداده باشید. بنابراین در این شرایط میتوانید با حفظ خونسردی و داشتن برخورد صحیح، از پشتیبان هاستتان درخواست راهنمایی کنید و بگویید که چه مراحلی را پشت سر گذاشته اید تا ببینید که چطور میتوانید مشکلی که هنوز پا برجاست را برطرف کنید.

اینجا جای مناسبی است تا مجددا بر روی اهمیت ایجاد بکاپ های منظم از سایتتان تاکید کنیم. طبیعی است که اگر بکاپی به روز از سایتتان در دسترس داشته باشید، همه چیز بدون انجام کارهای پیچیده، کاملا قابل حل خواهد بود و در کوتاه ترین زمان میتوانید وبسایتتان را مجددا سرپا کنید.

امیدوار هستیم که چنین مشکلاتی برای شما و وبسایتتان پیش نیامده باشد و در آینده هم برایتان اتفاق نیفتد ولی خوشحال میشویم بدانیم که اگر قبلا با این مشکل مواجه شده اید، به چه شکل توانسته اید آن را برطرف کنید … راه حل شما ممکن است بتواند به دیگران در حل این مشکل کمک کند.

کد ساز اینترنتی...
ما را در سایت کد ساز اینترنتی دنبال می کنید

برچسب : نویسنده : استخدام کار coder بازدید : 214 تاريخ : سه شنبه 18 خرداد 1395 ساعت: 19:40

غیرفعال کردن امکان لاگین با ایمیل در وردپرس

حتما یادتان هست که در معرفی ویژگی ها و امکانات جدید وردپرس 4.5 به شما گفتیم که در این نسخه امکان ورود به ایمیل به حساب کاربری در وردپرس برای کاربران فراهم شده و هر شخصی که مایل باشد میتواند در هنگام ورود بجای نام کاربری، با استفاده از آدرس ایمیل ثبت نامی خود به حساب کاربری اش وارد شود. در آنجا گفتیم که به خاطر سپردن آدرس ایمیل و استفاده از آن میتواند در بسیاری از مواقع برای کاربران آسان تر باشد. چنین امکانی در وبسایتی که به شکل صحیح امن شده است، نه تنها ایجاد خطر نمیکند بلکه امکانی بسیار مفید است که میتواند تجربه کاربری بهتری را برای کاربران فراهم کند ولی بدیهی است که در بسیاری از سایت ها، همین امکان خوب میتواند تبدیل به یک حفره ی امنیتی شود. میپرسید چرا؟ دلیل این امر واضح است. ایمیل ها نسبت به نام های کاربری عمومیت بسیار بیشتری دارند و حدس زدن آنها هم بسیار ساده است. کافی است شخصی شما را بشناسد و یکی دو بار از طریق ایمیل همیشگیتان با شما مکاتبه کرده باشد. بدیهی است که در چنین حالتی حدس زدن ایمیل کاربری شما برای ورود به وردپرس آنقدر ها هم سخت نیست. فقط میماند رمز عبور که آن هم …. بنابراین میبینید که شاید این امکان برای همه ی افراد ایده آل نباشد. اگر شما هم مثل مسترکد از فعال بودن چنین امکانی در وبسایتتان زیاد دل خوشی ندارید، میتوانید به سادگی و با دنبال کردن آموزش امروز، امکان لاگین با ایمیل را در وبسایتتان غیر فعال کرده و یک نفس راحت بکشید. با ما همراه شوید.

غیر فعال کردن ورود با ایمیل با استفاده از افزونه No Login by Email Address
روش اول مخصوص افزونه دوستان عزیز است! اگر به راه انداختن کارتان از طریق افزونه ها علاقه دارید، برای غیر فعال کردن امکان لاگین با ایمیل در وردپرس کافی است که افزونه ی No Login by Email Address را در سایتتان نصب و فعال کنید. (آموزش نصب افزونه را با کلیک بر روی اینجا بخوانید) این افزونه پس از فعالسازی، بی نیاز به اعمال هر نوع تنظیمی، شروع به کار کرده و امکان ورود با استفاده از آدرس ایمیل را در وبسایت وردپرسی شما غیر فعال خواهد کرد. پس از فعال کردن افزونه، اگر کسی سعی کند بجای نام کاربری، با استفاده از ایمیل وارد اکانتش در وردپرس شود، با خطای اشتباه بودن نام کاربری مواجه خواهد شد. این افزونه همچنین عبارت “نام کاربری یا ایمیل” را که در بالای فیلد ورود به نمایش در می آید به عبارت “نام کاربری” تغییر خواهد داد تا این مسئله باعث گمراهی کاربران نشود.

غیر فعال کردن لاگین با ایمیل به صورت دستی
در این روش کافی است کد زیر را در فایل functions.php قالب خود یا افزونه ی site-specific ای که قبلا به همین منظور ایجاد کرده اید قرار دهید :

در این حالت تغییری در عبارت “نام کاربری یا ایمیل” که در بالای فیلد ورود در وردپرس به نمایش در می آید ایجاد نخواهد شد ولی اگر کاربری سعی در ورود با ایمیل به حساب کاربری اش را داشته باشد، با خطای اشتباه بودن نام کاربری مواجه خواهد شد. بنابراین استفاده از روش دوم خصوصا از جهت تجربه ی کاربری، بیشتر برای وبسایت های دارای یک ادمین که امکان ثبت نام در آنها غیر فعال است توصیه میشود.

به همین سادگی حالا میتوانید یکی از نگرانی هایتان را از لیست حذف کنید!

کد ساز اینترنتی...
ما را در سایت کد ساز اینترنتی دنبال می کنید

برچسب : نویسنده : استخدام کار coder بازدید : 235 تاريخ : دوشنبه 17 خرداد 1395 ساعت: 14:41

امن کردن جوملا در 7 مرحله

در میان همه سیستم های مدیریت محتوایی که میشناسیم بدون شک وردپرس و جوملا پر طرفدار ترین آنها هستند. محبوب بودن این دو cms از طرفی هم موجب میشود که تعداد افرادی که میخواهند یا میتوانند با سوء استفاده از کوچکترین اشتباهات امنیتی، به سایت های راه اندازی شده با این اسکریپت ها نفوذ کنند، به شکل چشمگیری افزایش یابد. متاسفانه چیزی که اخیرا بسیار با آن مواجه میشویم، وبسایت های جوملایی است که بخاطر رها شدن به حال خود و عدم رعایت موارد امنیتی، آلوده شده و مورد سوء استفاده افراد سودجو قرار میگیرند. این مسئله در مورد وردپرس هم صادق است ولی امروز محور صحبت ما وبسایت های جوملا و نحوه ی امن کردن آنها خواهد بود. با پیروی کردن از 7 موردی که در این مقاله ی کوتاه به شرح آنها میپردازیم، میتوانید به سادگی وبسایت جوملایی خود را در برابر بسیاری از حملات حفاظت کرده و شب را با خیال راحت به صبح برسانید!

توجه داشته باشید که در تمامی این موارد ما فرض را بر این قرار میدهیم که شما همیشه از آخرین ورژن جوملا بر روی سایت خود استفاده میکنید. چرا که اولین و پایه ای ترین مسئله در حفظ امنیت وبسایت شما، به روز نگه داشتن سیستم مدیریت محتوای شماست که پایه ی اصلی سایت را تشکیل داده است.

1 – بروزرسانی پلاگین ها
یکی از نقاطی که راه نفوذ هکر ها را به سایت شما آسان کرده و موجبات آلوده شدن آن را فراهم میکند، همین پلاگین هایی هستند که به روز نیستند. نسخه های قدیمی افزونه ها و کامپوننت ها میتواند حاوی حفره های امنیتی بسیاری باشند. عموما یکی از دلایلی که برای این پلاگین ها نسخه های جدیدی ارائه میشود، همین رفع حفره های امنیتی موجود در آنهاست. بنابراین وقتی پلاگین های سایتتان را به روز نگه ندارید، رسما در حال ارسال دعوتنامه برای افراد خرابکار جهت نفوذ به سایتتان هستید. خوشخبتانه در سایت joomla.org بخشی وجود دارد که به اعلام حفره های امنیتی شناخته شده در انواع extension های جوملا میپردازد. با استفاده از این لیست همواره میتوانید لیستی از افزونه های خطرناک را مشاهده کرده و اگر افزونه ای که در سایت خود استفاده میکنید را در این لیست مشاهده کردید، بلافاصله جهت حذف یا به روز رسانی آن اقدام کنید.

برای مشاهده لیست اکستنشن های دارای حفره ی امنیتی کلیک کنید

2 – استفاده از رمز عبور قوی و مناسب برای حساب کاربری مدیر
هر چقدر روی این مورد تاکید کنیم باز هم کم است. متاسفانه علیرقم تمامی هشدار ها، باز هم افرادی هستند که از رمز های بسیار ساده و ناامن برای حساب کاربری ادمین خود استفاده میکنند. استفاده از سال تولد، شماره تلفن، یا هر رقمی و نوشته ی ساده ای، هرچقدر هم که طولانی باشد، باز هم یک رمز امن به حساب نمی آید. رمز عبور شما جدا از اینکه میبایست طول مناسبی داشته باشد، لازم است ترکیبی از اعداد، حروف کوچک و بزرگ و علامت های مجاز باشد. در غیر این صورت با تکنیک هایی بسیار ساده و تنها از طریق یک حمله ی بروت فورس، میتوان این رمز را پیدا کرده و وارد ناحیه ی مدیریت سایت شما شد.

3 – حفاظت از صفحه ورود به ناحیه مدیریت
علاوه بر استفاده از رمز عبور مناسب در این بخش، اینکه یک لایه ی امنیتی مناسب نیز به بخش ورود به مدیریت جوملا اضافه کنید، ایده ی بسیار خوبی است. در این زمینه افزونه های بسیاری را میتوانید پیدا کنید که هر یک قادر به انجام کار خاصی هستند. مثلا میتوانید لینک ورود به ناحیه مدیریت را به طور کامل عوض کرده و یا روی آن یک لایه ی رمز اضافی قرار دهید. همچنین با بن کردن افرادی که تعداد دفعات خاصی لاگین ناموفق داشته اند، میتوانید از حملات بروت فورس نیز جلوگیری به عمل آورید.

برای مشاهده لیست افزونه های امنیتی جوملا کلیک کنید

4 – حذف اکستنشن های قدیمی و بی کاربرد
extension هایی که بر روی سایت جوملایی خود نصب کرده اید را بازبینی کنید. اگر در میان آنها افزونه ای پیدا میکنید که بسیار قدیمی است و مدت هاست آپدیت نشده، یا هر چه سریعتر آن را بروزرسانی کنید و یا اگر چنین امکانی میسر نیست، برای آن جایگزینی پیدا کرده و خودتان را از دست افزونه ی قدیمی خلاص کنید.
هر گاه در سایت خود افزونه ای پیدا میکنید که دیگر برایتان بی کاربرد شده، سریعا آن را پاک کنید.
حذف افزونه های قدیمی و افزونه های بی کاربرد، نه تنها سرعت سایت شما را بالاتر برده و آن را بهینه میکند، بلکه به طور همزمان به بهبود سطح امنیت سایتتان نیز کمک خواهد کرد. بنابراین بهتر است به سادگی از کنار این مطلب عبور نکنید.

5 – ایجاد بکاپ های منظم
هرچقدر هم که شما دقیق باشید و هرچقدر هم که همه ی جوانب را در نظر گرفته باشید، باز هم حادثه خبر نمیکند … بنابراین بهتر است همیشه خود را برای شرایط غیر منتظره آماده کنید و با ایجاد و نگهداری بکاپ های منظم از سایت خود، آمادگی روبرو شدن با هر حالت پیش بینی نشده ای را داشته باشید. برای ایجاد بکاپ از سایت جوملایی خود، هم میتوانید به صورت مستقیم از هاست خود اقدام کرده و از هاست خود فول بکاپ ایجاد کنید و هم میتوانید کمی حرفه ای تر عمل کرده و از افزونه های مخصوص این کار، مثلا Akeeba Backup استفاده کنید.

6 – فایروال ها و افزونه های امنیتی
چک کردن سلامت فایل ها، اطمینان از وجود سطح دسترسی های صحیح، قرار دادن رمز روی پوشه ی مدیریت، جلوگیری از دسترسی آی پی های مختلف، پیدا کردن بد افزار های احتمالی و … از کار هایی هستند که انجام آنها با دست خالی بسیار دشوار و زمانبر خواهد بود. اما خبر خوب این است که افزونه های امنیتی مانند Akeeba Admin Tools و RSFirewall میتوانند به شما کمک کنند که تک تک این موارد را به بهترین شکل تحت نظر گرفته و از سلامت وبسایت خود اطمینان حاصل کنید.
در مورد افزونه های تجاری مانند RSFirewall همیشه به یاد داشته باشید که به هیچ عنوان این نوع افزونه ها را از مراجع نامعتبر و به صورت غیر قانونی تهیه نکنید چون عموما بجای تاثیرات امنیتی مثبت، با آلودگی های عجیب و غریب پی در پی مواجه خواهید شد …

7 – استفاده از لاگین دو مرحله ای (Two Factor Authentication)
لاگین دو مرحله ای به این صورت است که در هر زمان برای ورود به اکاننتان، جوملا یک رمز یکبار مصرف به موبایل شما ارسال خواهد کرد. (با استفاده از Google Authenticator) به این شکل علاوه بر رمز ثابتتان، لازم است که این کد را نیز برای ورود به حساب کاربری ارائه دهید، در غیر این صورت ورود ناموفق خواهد بود. احتمالا نیازی به توضیح نیست ولی همانطور که مشخص است، استفاده از این شیوه جهت ورود، امکان هک شدن رمز عبور شما را به شکل چشمگیری پایین می آورد.

راهنمای فعال سازی لاگین دو مرحله ای در جوملا را در اینجا بخوانید

با رعایت همین چند مورد بسیار ساده، میتوانید امنیت وبسایت خود را به شکل چشمگیری افزایش دهید و از سوء استفاده از سایتتان جلوگیری کنید. توصیه میکنیم که همین حالا دست به کار شده و یک قدم، حال هرچند که کوچک باشد به سمت امن تر کردن سایتتان بردارید.

کد ساز اینترنتی...
ما را در سایت کد ساز اینترنتی دنبال می کنید

برچسب : نویسنده : استخدام کار coder بازدید : 233 تاريخ : دوشنبه 17 خرداد 1395 ساعت: 14:41

جلوگیری از ذخیره IP در دیدگاه های وردپرس

حتما تا امروز متوجه شده اید که وردپرس به صورت پیشفرض، IP افرادی را که دیدگاه خود را در وبسایت یا وبلاگ وردپرسی شما درج میکنند، در دیتابیس ذخیره کرده و آن را در بخش دیدگاه ها برای شما به نمایش میگذارد.  ذخیره کردن آی پی نظر دهنده، هرچند میتواند در جلوگیری از ارسال اسپم توسط افزونه هایی مثل Akismet مفید باشد ولی شاید از دید شما و شخصی که نظر را در وبسایت شما درج میکند، چندان هم جالب نباشد. در مورد دلیل این مسئله میتوانیم به این نکات اکتفا کنیم که اولا اگر شما واقعا به آی پی شخصی که وبسایت شما را مورد دسترسی قرار داده، نیاز داشته باشید، خوب همیشه میتوانید از لاگ های درج شده در هاستتان که بدون وقفه در حال ثبت این اطلاعات هستند استفاده کنید و دوما ثبت آی پی و نمایش آن به طور کامل، نکته ای است که منجر به عدم حفظ حریم خصوصی و شخصی افراد شده و به همین جهت میتواند برخی افراد را از درج نظر در وبسایت شما باز دارد. (الان دارید تاکید میکنید که اگر کسی ریگی به کفشش نباشد و از این حرف ها! :دی) در این رابطه به همین نکته بسنده میکنیم که سرویس های آمار و آنالیز حرفه ای و حتی سرویس های پشتیبانی آنلاین هم جدیدا سعی در رعایت همین مسئله و حفظ حریم خصوصی افراد دارند. و اما سوما، در وبسایتی با تعداد نظرات بالا، هرچقدر فضای کمتر و مختصر تری از دیتابیس استفاده کنید این مسئله به نفع شماست. البته این تفاوت در اندازه در واقع اصلا قابل توجه نیست و به چشم هم نمی آید ولی خوب مبحثی است که میتوان تا حدی به آن فکر کرد. به هر حال از مزایا و معایب این مسئله که بگذریم، اگر شما از آن دسته افرادی هستید که مایلید از ذخیره شدن آی پی کاربران در بخش دیدگاه های وردپرس جلوگیری کنید، مسترکد خواندن ادامه این مطلب را به شما توصیه میکند.

روش اول : جلوگیری از ذخیره IP در دیدگاه ها با استفاده از افزونه Remove IP
در این روش کافی است افزونه ی Remove IP را بر روی سایت خود نصب و فعال کنید. (آموزش نصب افزونه در وردپرس)
پس از فعالسازی افزونه، بلافاصله ذخیره شدن آی پی کاربران در بخش دیدگاه ها متوقف خواهد شد و بجای آی پی واقعی کاربران، آی پی 127.0.0.1 در بخش دیدگاه ها به شما نمای داده خواهد شد.
لازم است توجه داشته باشید که استفاده از این افزونه تنها بر روی دیدگاه هایی که پس از نصب این افزونه در سایت شما درج شوند تاثیر میگذارد و پس از نصب و فعالسازی افزونه، کماکان در دیدگاه های قدیمی تر شاهد نمایش آی پی واقعی کاربران خواهید بود. در بخش نهایی این آموزش، نحوه ی پاک کردن IP هایی که از قبل در سایتتان ذخیره شده اند را نیز به شما آموزش خواهیم داد.

روش دوم : جلوگیری از ذخیره IP ها در بخش نظرات به صورت دستی
در این روش کد مورد نیاز جهت جلوگیری از ذخیره آی پی ها را به صورت دستی وارد فایل functions.php یا افزونه ی Site-specific ای که قبلا ایجاد کرده ایم قرار میدهیم :

در این روش بجای نمایش مقدار 127.0.0.1 بجای آی پی اصلی کاربر، اصلا چیزی نمایش داده نخواهد شد.

حذف آدرس های IP ذخیره شده از دیتابیس
از هر یک از دو روش بالا که استفاده کنید، در نهایت آی پی هایی که از قبل در سایتتان ذخیره شده اند، پاک نخواهند شد و لازم است که پاک کردن آنها را خودتان به صورت دستی انجام دهید.
از آنجایی که برای انجام این کار لازم است که از طریق phpMyAdmin یک کوئری روی دیتابیس سایت ایجاد کنیم، بنابراین پیش از انجام هر کار دیگری، ابتدای یک بکاپ کامل از سایت خود و یک خروجی از دیتابیستان تهیه کرده و در محل امنی ذخیره کنید و سپس این آموزش را ادامه دهید تا در صورت بروز هرگونه مشکل، امکانی بازگشت به حالت قبل برای شما میسر باشد.

بعد از ایجاد بکاپ، از طریق هاست خود به phpMyAdmin مراجعه کرده و به تب SQL بروید.

اجرای کوئری روی دیتابیس

حالا مانند تصویر بالا در باکس نوشتاری مربوط به کوئری، دستور زیر را وارد کنید :

توجه داشته باشید که در کد بالا، عبارت wp_Idea ممکن است بر اساس پیشوند جداول دیتابیس شما نام متفاوتی داشته باشد. بنابراین عبارت wp_ را با پیشوند صحیح جداول خود جایگزین نمایید و سپس کوئری را اجرا کنید تا آی پی های ذخیره شده در دیتابیس حذف شوند.

در پایان مجددا تاکید میکنیم که در ایجاد بکاپ پیش از انجام هر کاری، کوتاهی نکنید تا در طول اجرای آموزش ها، در صورت بروز مشکل، امکان برطرف کردن آن برای شما میسر باشد.

کد ساز اینترنتی...
ما را در سایت کد ساز اینترنتی دنبال می کنید

برچسب : نویسنده : استخدام کار coder بازدید : 242 تاريخ : دوشنبه 17 خرداد 1395 ساعت: 14:41

خصوصی کردن یک مطلب در جوملا

گاهی ممکن است شرایطی پیش بیاید که بر اساس آن نیاز داشته باشید دسترسی به مطلب خاصی را در جوملا به افرادی با سطح دسترسی خاص محدود کنید و همچنین از ایندکس شدن آن مطلب در موتور های جستجو نیز جلوگیری کنید. به این شکل مطلب در اختیار خواهید داشت که بر اساس تنظیمات شما، فقط برای شخص یا اشخاص خاصی در وبسایت جوملایی شما در دسترس است. اگر هدف شما انجام چنین کاری است، از شما دعوت میکنیم در ادامه ی این آموزش کوتاه با مسترکد همراه شوید.

چگونه در جوملا یک مطلب را خصوصی کنیم؟
خصوصی کردن و محدود کردن دسترسی به یک مطلب در جوملا به گروه از کاربران با سطح دسترسی خاص بسیار آسان است. برای انجام این کار کافی است ابتدا وارد مطلب دلخواه خود شوید. سپس در تب محتوا (تب اصلی که به صورت پیشفرض در آن قرار دارید) در بخش دسترسی، گروه مورد نظر خود را جهت دسترسی به مطلب انتخاب کنید.

سطح دسترسی کاربران در جوملا

در اینجا اگر سطح دسترسی Special را انتخاب کنید، فقط Super User ها، Manager ها و Author ها اجازه ی دسترسی به مطلب مورد نظر را خواهند داشت و اگر Super Users را انتخاب کنید، تنها ادمین ها که بالاترین سطح کاربری سیستم هستند، میتوانند مطلب مورد نظر را مشاهده کنند. بنابراین فرضا اگر در سایت شما، تنها یک ادمین وجود دارد و آن هم خود شما هستید، محدود کردن دسترسی به این سطح، باعث میشود که تنها خود شما به این مطلب دسترسی داشته باشید.

سپس به تب انتشار مراجعه کرده و گزینه ی روبوتها (رباتها / robots) را پیدا کنید.

جلوگیری از ایندکس شدن مطلب در موتور های جستجو

در تنظیمات این بخش اگر گزینه ی “بدون فهرست، بدون پیروی” یا همان noindex, nofollow را انتخاب کنید، کد زیر به بالای صفحه ی مطلب مربوطه اضافه خواهد شد :

این کد به رباتها میگوید که اولا این صفحه را ایندکس نکنند و دوما اگر لینکی در آن پیدا کردند، آن لینک را دنبال نکنند. باید توجه داشته باشید که رباتها مجازند این متا تگ را نادیده بگیرند. بنابراین بسیاری از اوقات پیش می آید که رباتهای اسپم بدون توجه به این متا تگ، مطلب مورد نظر شما را ایندکس کنند ولی هر رباتی که به این تک احترام بگذارد، مطلب شما را ایندکس نخواهد کرد.

به همین سادگی حالا شما یک مطلب خصوصی محدود به افراد خاصی در وبسایت خود در اختیار دارید که میتوانید از آن برای مقاصد گوناگون استفاده نموده و نیازهای خود را در این زمینه براورده نمایید.

تبلیغ در سایت مسترکد

کد ساز اینترنتی...
ما را در سایت کد ساز اینترنتی دنبال می کنید

برچسب : نویسنده : استخدام کار coder بازدید : 248 تاريخ : يکشنبه 2 خرداد 1395 ساعت: 3:41

چگونه صفحه بندی را از صفحه اصلی سایت در جوملا حذف کنیم؟

اگر دقت کرده باشید، جوملا به صورت پیشفرض در صفحه ی اصلی سایت شما لیستی از شماره صفحات موجود در سایت را به نمایش در می آورد که کاربران میتوانند با کلیک بر روی شماره ی صفحه ی مورد نظر، به بخش مورد نظر مراجعه کرده و مطالب مربوط به آن صفحه را مطالعه کنند. این مسئله برای عموم افراد ایده آل است ولی اگر شما جزو آن دسته افرادی هستید که مایل نیستید در صفحه ی اصلی سایت خود، شماره ی صفحات را به نمایش در بیاورید، جوملا این امکان را در اختیار شما قرار میدهد که با اعمال تنظیمی ساده، این صفحه بندی را از صفحه اصلی سایت خود حذف کنید. توجه داشته باشید که این تنظیم تنها محدود به صفحه ی اصلی نیست و تمامی بخش هایی که جزو صفحات ویژه در سایت شما باشند، امکان فعال/غیر فعال کردن این ویژگی را در اختیار شما قرار میدهند و شما میتوانید با توجه به نیاز خود و بر اساس همین آموزش ساده، به اعمال تنظیمات دلخواه بر روی آنها بپردازید. از شما دعوت میکنیم در این آموزش از سری آموزش های cms جوملا با مسترکد همراه شوید.

آموزش حذف صفحه بندی از صفحه خانگی سایت در جوملا
حذف صفحه بندی از صفحه ی اصلی سایت در جوملا بسیار آسان است. برای انجام این کار مطابق با تصویر زیر در ناحیه مدیریت جوملا ابتدا از بخش “منو ها” زیر منوی Main Menu را انتخاب کنید. در این صفحه باید قادر به مشاهده ی صفحه ی اصلی سایتتان در منوی باز شده باشید.

بخش منو ها در جوملا

همانطور که در تصویر بالا نیز مشخص است، صفحه ی خانگی یا همان صفحه اصلی، صفحه ای است که در جلوی آن یک ستاره به چشم میخورد. بنابراین روی عنوان این آیتم کلیک میکنیم تا آیتم مربوطه جهت ویرایش باز شود. حالا کافی است که در صفحه ی باز شده به تب “طرح” مراجعه کرده و گزینه ی صفحه بندی یا Pagination را بیابید.

مخفی کردن صفحه بندی در جوملا

در میان گزینه های موجود برای صفحه بندی، گزینه ی مخفی را انتخاب کنید تا از نمایش صفحه بندی در صفحه ی اصلی سایتتان جلوگیری شود. در پایان ذخیره ی تنظیمات جدید را نیز فراموش نکنید.

حالا اگر به صفحه ی اصلی سایتتان مراجعه کنید خواهید دید که دیگر خبری از نشان دادن شماره ی صفحات نیست. به همین سادگی …

تبلیغ در سایت مسترکد

کد ساز اینترنتی...
ما را در سایت کد ساز اینترنتی دنبال می کنید

برچسب : نویسنده : استخدام کار coder بازدید : 207 تاريخ : يکشنبه 2 خرداد 1395 ساعت: 3:41